Access VBA の DoCmd.SelectObject メソッドは、指定したオブジェクト(フォーム・レポート・クエリなど)を選択状態にするために使用します。主に、操作対象をアクティブにする前処理や、ウィンドウ表示の制御などに使われます。
目次
🔹 基本構文
DoCmd.SelectObject(ObjectType, ObjectName, InDatabaseWindow)
🔸 引数の解説
| 引数名 | 型 | 説明 |
|---|---|---|
ObjectType | AcObjectType | 選択するオブジェクトの種類(例: フォーム、クエリなど)必須 |
ObjectName | String | 対象オブジェクトの名前(省略可:省略すると最後に操作したオブジェクトが対象) |
InDatabaseWindow | Boolean | オブジェクトをナビゲーションウィンドウ(旧:データベースウィンドウ)に表示するか(既定: True) |
🔹 AcObjectType の主な値
| 定数名 | 説明 |
|---|---|
acForm | フォーム |
acReport | レポート |
acQuery | クエリ |
acTable | テーブル |
acMacro | マクロ |
acModule | モジュール |
🔸 使用例
✅ フォームを選択状態にする
DoCmd.SelectObject acForm, "frmCustomers", True
✅ レポートをナビゲーションウィンドウに表示せず選択
DoCmd.SelectObject acReport, "rptSummary", False
✅ 最後に操作したテーブルを選択
DoCmd.SelectObject acTable
✅ 補足
SelectObject単体ではオブジェクトを開いたり表示したりはしません。- 他のメソッド(例:
DoCmd.CloseやDoCmd.PrintOut)の対象指定として用いることがあります。 InDatabaseWindowをFalseにすると、選択はされますがナビゲーションウィンドウには表示されません。
